Allow searching for multiple terms #173
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request mirrors Openarl/PathOfBuilding#1853. There's been no feedback there, so I thought I'd try here.
This series of commits allow the search bar to handle multiple search terms. When the user searches with the string,
bleed|frenzy, nodes that contain text with eitherbleedorfrenzywill be highlighted. In other words, this change allows searching the union of each term. This is a change from the previous functionality of PoB searching only for the entire search string, including any whitespace. For comparison, the game allows whitespace to separate search terms and performs a search of the intersection of each term.There are two big changes that should be considered before accepting this pull request.
1. The search cache has been changed from a table of booleans to a table of bitmaps (integers)
I don't know how this will work with the current serialization method. From reading the code, it looks like only
searchStr, notsearchStrResults, is serialized and saved, but I may be misunderstanding something. My testing did not show any issues.2. Users can no longer search for
|(the pipe symbol)I don't think this will affect anyone.
Some other comments:
Thank you for any feedback.